Создание API для создания записи с использованием Prisma и Node.js
Пример ниже демонстрирует, как создать REST API для добавления записи в базу данных с использованием Prisma и Node.js. Мы будем использовать Express.js для маршрутизации и Prisma для взаимодействия с базой данных.
1. Установка зависимостей
Сначала установите необходимые пакеты:
bash
npm init -y
npm install express prisma @prisma/client
Инициализируйте Prisma в вашем проекте:
bash
npx prisma init
2. Настройка Prisma Schema
В файле prisma/schema.prisma
настройте модель данных. Например, создадим модель Post
:
prisma
generator client {
provider = "prisma-client-js"
}
datasource db {
provider = "sqlite" // Или другой провайдер, например, PostgreSQL
url = "file:./dev.db"
}
model Post {
id Int @id @default(autoincrement())
title String
content String
createdAt DateTime @default(now())
}
После этого выполните миграцию для создания таблицы в базе данных:
bash
npx prisma migrate dev --name init
3. Создание API
Создайте файл index.js
и настройте сервер Express.js:
javascript
const express = require('express');
const { PrismaClient } = require('@prisma/client');
const app = express();
const prisma = new PrismaClient();
app.use(express.json());
// Маршрут для создания записи
app.post('/posts', async (req, res) => {
const { title, content } = req.body;
try {
const post = await prisma.post.create({
data: {
title,
content,
},
});
res.status(201).json(post);
} catch (error) {
res.status(500).json({ error: 'Ошибка при создании записи' });
}
});
// Запуск сервера
const PORT = 3000;
app.listen(PORT, () => {
console.log(`Сервер запущен на http://localhost:${PORT}`);
});
4. Тестирование API
Запустите сервер:
bash
node index.js
Используйте инструмент, например Postman или cURL, чтобы отправить POST-запрос на http://localhost:3000/posts
с телом:
json
{
"title": "Пример записи",
"content": "Это содержимое записи"
}
Если всё настроено правильно, вы получите ответ с созданной записью.
5. Дополнительно
- Вы можете использовать другие базы данных, такие как PostgreSQL, MySQL и т.д., изменив
provider
иurl
вschema.prisma
1. - Prisma автоматически генерирует типы для работы с данными, что упрощает разработку.
Теперь у вас есть базовый API для создания записей с использованием Prisma и Node.js!